31e35abba47ff03a8792ff4d5146cd6084f34c74,src/main/java/sonar/core/inventory/ContainerLargeInventory.java,ContainerLargeInventory,slotClick,#number#number#ClickType#EntityPlayer#,121
Before Change
if (held.stackSize == 0) {
player.inventory.setItemStack(null);
}
entity.getTileInv().slots[slotID] = entity.getTileInv().buildArrayList(clicked);
return null;
}
}
After Change
ItemStack stack = newStack.copy().setStackSize(toRemove).getFullStack();
newStack.remove(stack);
if (newStack.stored == 0) {
entity.getTileInv().setLargeStack(slotID, null);
}
player.inventory.setItemStack(stack);
entity.getTileInv().setLargeStack(slotID, newStack);
return null;
}
} else if (held != null) {
if (clicked == null || clicked.getItemStack() == null || clicked.getStackSize() == 0) {
if (entity.getTileInv().isItemValidForSlot(slotID * entity.getTileInv().numStacks, held)) {
entity.getTileInv().setLargeStack(slotID, new StoredItemStack(held));
player.inventory.setItemStack(null);
return null;
}
} else if (clicked != null && clicked.getItemStack() != null) {
if (clicked.equalStack(held)) {
int maxAdd = (int) Math.min((held.getMaxStackSize() * entity.getTileInv().numStacks) - clicked.getStackSize(), held.stackSize);
if (maxAdd > 0) {
StoredItemStack newStack = clicked.copy();
newStack.add(new StoredItemStack(held).setStackSize(maxAdd));
held.stackSize -= maxAdd;
if (held.stackSize == 0) {
player.inventory.setItemStack(null);
}
entity.getTileInv().setLargeStack(slotID, newStack);
return null;
}
}